package com.pine.app.module.security.oauth.provider.token.store;

import com.pine.app.module.security.oauth.provider.token.OAuth2AccessToken;
import com.pine.app.module.security.oauth.provider.OAuth2Authentication;

/**
 * @author xiaoyuan
 * @create 2019/9/29 17:01
 **/
public interface TokenStore {

    OAuth2Authentication readAuthentication(OAuth2AccessToken var1);

    OAuth2Authentication readAuthentication(String var1);

    void storeAccessToken(OAuth2AccessToken var1, OAuth2Authentication var2);

    OAuth2AccessToken readAccessToken(String var1);

    void removeAccessToken(OAuth2AccessToken var1);

    void removeAccessToken(String var1);

    void removeRefreshToken(String refreshToken);

    OAuth2AccessToken readRefreshToken(String refreshToken);

    OAuth2Authentication readRefreshToAuthentication(String refreshToken);

    OAuth2AccessToken getAccessToken(OAuth2Authentication var1);
}
